1. Field of the Invention
The present invention relates to an information processing apparatus that executes processing requested by a web application provided on an external apparatus, and relates to a control method for the information processing apparatus and a storage medium for executing the method.
2. Description of the Related Art
In internet-related fields, it has recently been known to access via a web browser a web application provided on an external apparatus (e.g., web server) on the Internet, to thereby utilize a service offered by the web application.
FIG. 15 shows operations performed to utilize via a web browser a service offered by a web application provided on a web server.
In step S1501, the web browser accesses the web server and requests the web application on the web server to execute processing. In step S1502, the web application executes the requested processing.
In step S1503, the web application notifies an execution result of the processing to the web browser. In step S1504, the web browser updates a browser display screen to report the notified processing result to a user.
Also, there has recently been known a system in which when receiving a request for processing from a web browser, a web application on a web server requests other apparatus than the web server to execute the processing.
In an example shown in FIG. 16, a web browser requests a web application on a web server to execute processing (step S1601).
The web application receiving the request from the web browser executes the requested processing (step S1602), and requests another apparatus, e.g., a printer, to execute print processing (step S1603).
The printer receiving the request from the web application executes the requested print processing (step S1604), and notifies a print processing result to the requestor web application (step S1605). In step S1606, the web application notifies the print processing result notified from the printer to the web browser that first requests execution of the processing.
As described above, the method shown in FIG. 16 enables the web application to utilize processing means provided in another apparatus, thereby expanding a range of services which the web application can offer. It is also possible to notify a processing result to a web browser user by notifying the result of processing performed by the processing means (the printer in the example of FIG. 16) of the other apparatus to the web browser that first requests execution of the processing.
Another method for notifying a result of processing executed by a printer or other processing means to a user is known, e.g., from Japanese Laid-open Patent Publication No. 2001-356853.
Japanese Laid-open Patent Publication No. 2001-356853 discloses monitoring states of image processing jobs, which are being executed by processing means (printer or scanner) of an image processing apparatus, and causing an operation unit of the image processing apparatus to display operation statuses of the processing means.
As described above with reference to FIG. 16, even when processing is executed by a web application by utilizing processing means of another apparatus, it is necessary to notify a result of processing executed by the processing means to a requestor user. In that case, however, the result of the processing executed by the processing means of the other apparatus is notified to the requestor via the web server, and the realtimeness is therefore lowered in some cases.
Especially, in a case that both a requestor web browser and a printer (processing means of another apparatus utilized by a web application) are provided in one information processing apparatus, it is inefficient to notify via the web server a result of print processing performed by the printer.
FIG. 17 shows a conventional arrangement to notify a result of print processing executed by a printer of an information processing apparatus having therein both a requestor web browser and the printer serving as processing means of another apparatus utilized by a web application.
Reference numeral 1701 denotes an MFP (multi function peripheral) as the information processing apparatus, and 1702 denotes a web server connected with the MFP 1701 via a network. The MFP 1701 includes an operation unit 1703 for displaying, e.g., the progress of processing which is being executed by the MFP, a control unit 1704 for controlling the entire MFP 1701, and a printer 1705 for executing requested processing. The web server 1702 includes a RAM 1706, a web application 1707, and a LAN I/F 1708 for exchanging information with the MFP 1701.
The following is a description of control for causing the operation unit 1703 to display, e.g., the progress of processing which is being executed by the MFP 1701. First, the printer 1705 notifies an event to the control unit 1704, as shown at reference numeral 1711. The control unit 1704 notifies the received event to the web application 1707, as shown at 1712.
In the web application 1707, various events which are able to take place in the MFP 1701 are managed in correspondence with drawing data to be displayed by the web browser. As shown at reference numeral 1713, the web application 1707 creates drawing data in accordance with the content of the event notified from the MFP 1701. The web server 1702 then transmits the drawing data created by the web application 1707 to the MFP 1701, as shown at reference numeral 1714. Finally, as shown at 1715, the MFP 1701 updates a web browser display based on the received drawing data.
As described above, heretofore, the information processing apparatus takes the trouble to transmit and receive a result of its own processing to and from the web server via the network even simply to notify the processing result to an apparatus user, resulting in problems that the realtimeness is lowered and network traffic increases.
It is considered that a processing result may be notified to the user by using the method disclosed in Japanese Laid-open Patent Publication No. 2001-356853 in a case that processing is executed in response to a request from a web application, as with the case where processing is executed in response to a request from a local application provided on the information processing apparatus. Specifically, it is considered that irrespective of whether the processing is executed in response to a request from the local application or from the web application, the processing result may be notified to the user without the intervention of the web server.
In that case, however, the processing result is notified, without discriminating whether the processing is executed in response to a request from the local application on the information processing apparatus or from the web application. Thus, there is a fear that the following problems are posed.
Specifically, when a user A currently operating the information processing apparatus accesses the web application via the web browser, there is a fear that a result of processing executed in accordance with instructions given by another user B other than the user A is notified to the user A. In that case, the user A notified of the processing result is confused since the user A cannot easily identify whether the notified processing result is one for the processing executed according to instructions given by the user A or given by another user.
It should be noted that the processing executed according to instructions from the user B includes, e.g., processing executed by the printer of the information processing apparatus in accordance with instructions given from the user B by remote operation to the local application on the information processing apparatus, and processing whose execution is requested to the printer of the information processing apparatus from a web application to which the execution of the processing is requested by the user B via another information processing apparatus.
As described above, processing means such as a printer provided in an information processing apparatus is not only able to execute processing in response to a request, from a web application, based on instructions given by a user currently operating the information processing apparatus, but also able to execute processing in accordance with various requests. As a result, the above described problems can be caused.